home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.2 Applications 1996 May / SGI IRIX 6.2 Applications 1996 May.iso / dist / impr_dev.idb / usr / impressario / src / drivers / laserjetPJL / pclpjl.h.z / pclpjl.h
Text File  |  1996-05-06  |  5KB  |  160 lines

  1. /**************************************************************************
  2.  *
  3.  *                Copyright (c) 1992 Silicon Graphics, Inc.
  4.  *                      All Rights Reserved
  5.  *
  6.  *         THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF SGI
  7.  *
  8.  * The copyright notice above does not evidence any actual of intended
  9.  * publication of such source code, and is an unpublished work by Silicon
  10.  * Graphics, Inc. This material contains CONFIDENTIAL INFORMATION that is
  11.  * the property of Silicon Graphics, Inc. Any use, duplication or
  12.  * disclosure not specifically authorized by Silicon Graphics is strictly
  13.  * prohibited.
  14.  *
  15.  * RESTRICTED RIGHTS LEGEND:
  16.  *
  17.  * Use, duplication or disclosure by the Government is subject to
  18.  * restrictions as set forth in subdivision (c)(1)(ii) of the Rights in
  19.  * Technical Data and Computer Software clause at DFARS 52.227-7013,
  20.  * and/or in similar or successor clauses in the FAR, DOD or NASA FAR
  21.  * Supplement. Unpublished - rights reserved under the Copyright Laws of
  22.  * the United States. Contractor is SILICON GRAPHICS, INC., 2011 N.
  23.  * Shoreline Blvd., Mountain View, CA 94039-7311
  24.  **************************************************************************
  25.  *
  26.  * File: pclpjl.h
  27.  *
  28.  * Summary:
  29.  *    PCL and PJL ibrary routines include file
  30.  *
  31.  * See Also:
  32.  *    HP's PCL and PJL manuals.
  33.  * 
  34.  **************************************************************************/
  35.     
  36. #ident "$Revision: 1.5 $"
  37.  
  38. /* Laser Jet Model information */
  39.  
  40. #define DEFAULT_RESOLUTION 300
  41.  
  42. /* Update MIN and MAX if you add a printer to this list.  
  43.  * Also update the gui driver general_opts.c since it also has  
  44.  * a list of supported devices used to control displayed options.
  45.  * Note the values correspond to the string position in the 
  46.  * LJ_MODEL_NAMES array (so LJ_MODEL_4SI is element 2 in the
  47.  * array if you start counting from 0).
  48.  */
  49.  
  50. #define LJ_NUM_MODELS 7
  51.  
  52. #define LJ_MODEL_4V     0
  53. #define LJ_MODEL_4PLUS  1
  54. #define LJ_MODEL_4SI    2
  55. #define LJ_MODEL_5L     3
  56. #define LJ_MODEL_5P     4 
  57. #define LJ_MODEL_5SI    5
  58. #define LJ_MODEL_4P     6
  59.  
  60. #define LJ_MODEL_DEFAULT LJ_MODEL_4PLUS
  61.  
  62. static char *LJ_MODEL_NAMES[] = {
  63. "HP LaserJet 4V",
  64. "HP LaserJet 4 Plus",
  65. "HP LaserJet 4Si",
  66. "HP LaserJet 5L",
  67. "HP LaserJet 5P",
  68. "HP LaserJet 5Si",
  69. "HP LaserJet 4P"
  70. };
  71.  
  72. /* Options for setting up a duplexor */
  73.  
  74. #define LJ_DUPLEX_OFF       0
  75. #define LJ_DUPLEX_SHORTSIDE 1
  76. #define LJ_DUPLEX_LONGSIDE  2
  77. #define LJ_DEFAULT_DUPLEX  LJ_DUPLEX_OFF
  78. #define LJ_NUM_DUPLEX_NAMES 3
  79. static char *LJ_DUPLEX_NAMES[LJ_NUM_DUPLEX_NAMES] = {
  80. "off", 
  81. "bindShortSide", 
  82. "bindLongSide" 
  83. };
  84.  
  85. /* Options for selecting tray */
  86.  
  87. #define LJ_TRAY_UPPER  0
  88. #define LJ_TRAY_LOWER  1
  89. #define LJ_TRAY_EITHER 2 
  90. #define LJ_TRAY_MANUAL 3
  91. #define LJ_TRAY_NONE   4
  92. #define LJ_DEFAULT_TRAY LJ_TRAY_NONE
  93. #define LJ_NUM_TRAY_NAMES 4
  94. static char *LJ_TRAY_NAMES[LJ_NUM_TRAY_NAMES] = {
  95. "upper",  
  96. "lower", 
  97. "either", 
  98. "manual"
  99. };
  100.  
  101. /* Options for print output bin */
  102. #define LJ_OUTBIN_TOP 0
  103. #define LJ_OUTBIN_REAR 1
  104. #define LJ_NUM_OUTBIN_NAMES 2
  105. #define LJ_DEFAULT_OUTBIN 0
  106. static char *LJ_OUTBIN_NAMES[LJ_NUM_OUTBIN_NAMES] = {
  107. "top",
  108. "rear"
  109. };
  110.  
  111. /* Options for print darkness */
  112.  
  113. #define LJ_DARKNESS_NORMAL 0
  114. #define LJ_DARKNESS_LIGHT  1 
  115. #define LJ_DARKNESS_DARK   2
  116. #define LJ_DARKNESS_ECONO  3
  117. #define LJ_DEFAULT_DARKNESS LJ_DARKNESS_NORMAL
  118. #define LJ_NUM_DARKNESS_NAMES 4
  119. static char *LJ_DARKNESS_NAMES[LJ_NUM_DARKNESS_NAMES] = {
  120. "Normal", 
  121. "Light",
  122. "Dark",
  123. "Economode" 
  124. };
  125.  
  126. /* Error codes */
  127.  
  128. #define LJ_EXIT_OK          0
  129. #define LJ_BAD_LJ_MODEL_ERR 1
  130. #define LJ_WRITE_STREAM_ERR 2
  131.  
  132. /* PCL and PJL utility functions */
  133.  
  134. int pclSetLineWrap(FILE *out);
  135. int pclSetCrLf(FILE *out);
  136. int pclFormFeed(FILE *out);
  137. int pclResetPrinter(FILE *out);
  138. int pclPrepForGraphics(FILE *out);
  139. int pclPrepForNextPage(FILE *out);
  140. int pclCleanupPrinter(FILE *out);
  141. int pclSetRes(FILE *out, int xres, int yres);
  142. int pclSendRow(FILE *out, unsigned char *row, unsigned long numBytes);
  143. int pclSetTray(FILE *out, int tray);
  144.  
  145. int pjlSetModel(char *modelName);
  146. int pjlGetModel(void);
  147. int pjlEnterPJLMode(FILE *out);
  148. int pjlResetPrinter(FILE *out);
  149. int pjlEnterPCLMode(FILE *out);
  150. int pjlSetCopies(FILE *out, int copies);
  151. int pjlSetRes(FILE *out, int xres, int yres);
  152. int pjlSetPaperSize(FILE *out, int size);
  153. int pjlSetDuplex(FILE *out, int duplex);
  154. int pjlSetTray(FILE *out, int tray);
  155. int pjlSetOutBin(FILE *out, int tray);
  156. int pjlSetDarkness(FILE *out, int darkness);
  157. int pjlSetPageProtect(FILE *out, boolean onoff);
  158. void pjlSetDebug(boolean onoff);
  159. int pjlsetNoPJL(boolean PJL);
  160.